package com.myjoje.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class MyWebMvcConfigurer implements WebMvcConfigurer {

    /**
     * 添加拦截器
     */
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
//        //登陆拦截器
//        registry.addInterceptor(new LoginInterceptor())
//                .excludePathPatterns("/static/**")
//                .addPathPatterns("/**");
//        //日志拦截器
//        registry.addInterceptor(new LoggerInterceptor())
//                .excludePathPatterns("/static/**")
//                .addPathPatterns("/**");
//        registry.addInterceptor(new ErrorPageInterceptor())
//                .excludePathPatterns("/pub/login");
    }

    /**
     * 静态文件处理
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {

    }

    /**
     * 允许跨域
     */
    @Override
    public void addCorsMappings(CorsRegistry registry) {
//        addMapping：配置可以被跨域的路径，可以任意配置，可以具体到直接请求路径。
//        allowedMethods：允许所有的请求方法访问该跨域资源服务器，如：POST、GET、PUT、DELETE等
//        allowedOrigins：允许所有的请求域名访问我们的跨域资源，可以固定单条或者多条内容
//        allowedHeaders：允许所有的请求header访问，可以自定义设置任意请求头信息
        registry.addMapping("/**")
                .allowedHeaders("*")
                .allowedOrigins("*")
                .allowedHeaders("*");
    }
}
